Animation is an illusion that is created by quickly cycling through a series of images, each slightly different from the last. Someone viewing the animation perceives the group of images as a single changing scene such as motion in the scene. Many user interfaces in software applications make use of animations to provide user interaction feedback, highlight context transitions, or draw attention to particular information. Examples of animations in user interfaces are legion. Animation can provide a depress-and-return motion to an on-screen “button” selected with a pointer device or a finger, and can provide a page turn effect as a user scrolls through a document. The use of motion provided with the animations can provide a highly desirable effect within the application.
To achieve certain effects, a user interface designers may stagger animations, i.e., arrange the order of animations in some meaningful fashion as a function of time, in order to provide a user with appropriate visual context for a series of animations. An example can include a series of animations, such as list items or “bullet points,” added to a screen in succession or one after the other as a function of time. Another example can include a user interface element such as an animal animated to run to a person, and then the person animated to pet the animal. Without an ability to stagger the animation of these elements, the motions would occur at the same time, and the meaning of the animations would be lost. The creation of staggering animations is difficult in application frameworks, however, and requires a developer to provide a custom code in each case that results in inefficiencies when designing user interfaces.